package com.meilai.project.entity.finance.invoice;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meilai.project.dto.workflow.FlowBusinessDataSuperEntity;

import java.time.LocalDate;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 开票申请表
 * </p>
 *
 * @author xhy
 * @since 2022-12-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("invoice_apply")
@ApiModel(value = "InvoiceApply对象", description = "开票申请表")
public class InvoiceApply extends FlowBusinessDataSuperEntity {

    @ApiModelProperty(value = "分组id")
    private Long group_id;

    @ApiModelProperty(value = "子公司id")
    private Long dept_id;

    @ApiModelProperty(value = "子公司抬头")
    private String dept_head;

    @ApiModelProperty(value = "客户名称")
    private String customer_name;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "电话")
    private String phone;

    @ApiModelProperty(value = "统一社会信用代码")
    private String company_code;

    @ApiModelProperty(value = "开户行")
    private String bank_name;

    @ApiModelProperty(value = "开户账户")
    private String bank_account;

    @ApiModelProperty(value = "收票单位")
    private String bill_receipt_company;

    @ApiModelProperty(value = "发票数量")
    private Integer invoice_quantity;

    @ApiModelProperty(value = "业务项目")
    private String business_project;

    @ApiModelProperty(value = "发票类型")
    private Long invoice_type_id;

    @ApiModelProperty(value = "发票号码")
    private String invoice_num;

    @ApiModelProperty(value = "开票类目")
    private Long invoice_category_id;

    @ApiModelProperty(value = "发票金额")
    private BigDecimal invoice_amount;

    @ApiModelProperty(value = "开票日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate invoice_date;

    @ApiModelProperty(value = "增项金额")
    private BigDecimal additional_amount;

    @ApiModelProperty(value = "开票共计")
    private BigDecimal total_amount;

    @ApiModelProperty("客户负责人名称")
    private String person_in_charge_name;

    @ApiModelProperty("客户维护人名称")
    private String maintenance_staff_name;
}
